package com.xuzao.developer.base.criteria;

import java.util.ArrayList;
import java.util.List;


/**
 * @description 
 * @author xuzao
 * @date 2019-08-23 08:52:35
 **/
public class PlanUpdateLogCriteria {

	protected String orderByClause;

	protected boolean distinct;

	protected List<Criteria> oredCriteria;

	private int limitStart = -1;

	private int limitEnd = -1;

	public PlanUpdateLogCriteria() {
	oredCriteria = new ArrayList<Criteria>();
	}

	public void setOrderByClause(String orderByClause) {
		this.orderByClause = orderByClause;
	}
	public String getOrderByClause() {
		return orderByClause;
	}

	public void setDistinct ( boolean distinct){
		this.distinct = distinct;
 	}
	public boolean isDistinct () {
		return distinct;
	}

	public List<Criteria> getOredCriteria () {
		return oredCriteria;
	}

	public void or (Criteria criteria){
		oredCriteria.add(criteria);
	}

	public Criteria or () {
		Criteria criteria = createCriteriaInternal();
		oredCriteria.add(criteria);
		return criteria;
	}

	public Criteria createCriteria () {
		Criteria criteria = createCriteriaInternal();
		if (oredCriteria.size() == 0) {
		oredCriteria.add(criteria);
	}
		return criteria;
	}

	protected Criteria createCriteriaInternal () {
		Criteria criteria = new Criteria();
		return criteria;
	}
	public void clear () {
		oredCriteria.clear();
		orderByClause = null;
		distinct = false;
	}

	public void setLimitStart ( int limitStart){
		this.limitStart = limitStart;
	}

	public int getLimitStart () {
		return limitStart;
	}

	public void setLimitEnd (int limitEnd){
		this.limitEnd = limitEnd;
	}

	public int getLimitEnd () {
		return limitEnd;
	}

	protected abstract static class GeneratedCriteria {
		protected List<Criterion> criteria;
		protected GeneratedCriteria() {
		super();
		criteria = new ArrayList<Criterion>();
	}

	public boolean isValid() {
		return criteria.size() > 0;
	}

	public List<Criterion> getAllCriteria() {
		return criteria;
	}

	public List<Criterion> getCriteria() {
		return criteria;
	}
	protected void addCriterion(String condition) {
		if (condition == null) {
			throw new RuntimeException("Value for condition cannot be null");
	}
		criteria.add(new Criterion(condition));
	}
	protected void addCriterion (String condition, Object value, String property){
		if (value == null) {
			throw new RuntimeException("Value for " + property + " cannot be null");
	}
		criteria.add(new Criterion(condition, value));
	}

	protected void addCriterion (String condition, Object value1, Object value2, String property){
		if (value1 == null || value2 == null) {
			throw new RuntimeException("Between values for " + property + " cannot be null");
	}

		criteria.add(new Criterion(condition, value1, value2));
	}

	public Criteria andIdIsNull () {
		addCriterion("id is null");
		return (Criteria) this;
	}

	public Criteria andIdIsNotNull () {
		addCriterion("id is not null");
		return (Criteria) this;
	}

	public Criteria andIdEqualTo (java.lang.Long value){
		addCriterion("id =", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdNotEqualTo (java.lang.Long value){
		addCriterion("id <>", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdGreaterThan (java.lang.Long value){
		addCriterion("id >", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdGreaterThanOrEqualTo (java.lang.Long value){
		addCriterion("id >=", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdLessThan (java.lang.Long value){
		addCriterion("id <", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdLessThanOrEqualTo (java.lang.Long value){
		addCriterion("id <=", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdIn (List < java.lang.Long > values) {

		addCriterion("id in", values, "id");
		return (Criteria) this;
	}

	public Criteria andIdNotIn (List < java.lang.Long > values) {
		addCriterion("id not in", values, "id");
		return (Criteria) this;
	}

	public Criteria andIdBetween (java.lang.Long value1, java.lang.Long value2){
		addCriterion("id between", value1, value2, "id");
		return (Criteria) this;
	}

	public Criteria andIdNotBetween (java.lang.Long value1, java.lang.Long value2){
		addCriterion("id not between", value1, value2, "id");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyIsNull () {
		addCriterion("update_key is null");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyIsNotNull () {
		addCriterion("update_key is not null");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyEqualTo (java.lang.String value){
		addCriterion("update_key =", value, "update_key");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyNotEqualTo (java.lang.String value){
		addCriterion("update_key <>", value, "update_key");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyGreaterThan (java.lang.String value){
		addCriterion("update_key >", value, "update_key");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyGreaterThanOrEqualTo (java.lang.String value){
		addCriterion("update_key >=", value, "update_key");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyLessThan (java.lang.String value){
		addCriterion("update_key <", value, "update_key");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyLessThanOrEqualTo (java.lang.String value){
		addCriterion("update_key <=", value, "update_key");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyIn (List < java.lang.String > values) {

		addCriterion("update_key in", values, "update_key");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyNotIn (List < java.lang.String > values) {
		addCriterion("id not in", values, "update_key");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("update_key between", value1, value2, "update_key");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyNotBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("update_key not between", value1, value2, "update_key");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyLike(java.lang.String value) {
		addCriterion("update_key like", value, "update_key");
		return (Criteria) this;
	}

	public Criteria andUpdateKeyNotLike(java.lang.String value) {
		addCriterion("update_key not like", value, "update_key");
		return (Criteria) this;
	}
	public Criteria andOldValIsNull () {
		addCriterion("old_val is null");
		return (Criteria) this;
	}

	public Criteria andOldValIsNotNull () {
		addCriterion("old_val is not null");
		return (Criteria) this;
	}

	public Criteria andOldValEqualTo (java.lang.String value){
		addCriterion("old_val =", value, "old_val");
		return (Criteria) this;
	}

	public Criteria andOldValNotEqualTo (java.lang.String value){
		addCriterion("old_val <>", value, "old_val");
		return (Criteria) this;
	}

	public Criteria andOldValGreaterThan (java.lang.String value){
		addCriterion("old_val >", value, "old_val");
		return (Criteria) this;
	}

	public Criteria andOldValGreaterThanOrEqualTo (java.lang.String value){
		addCriterion("old_val >=", value, "old_val");
		return (Criteria) this;
	}

	public Criteria andOldValLessThan (java.lang.String value){
		addCriterion("old_val <", value, "old_val");
		return (Criteria) this;
	}

	public Criteria andOldValLessThanOrEqualTo (java.lang.String value){
		addCriterion("old_val <=", value, "old_val");
		return (Criteria) this;
	}

	public Criteria andOldValIn (List < java.lang.String > values) {

		addCriterion("old_val in", values, "old_val");
		return (Criteria) this;
	}

	public Criteria andOldValNotIn (List < java.lang.String > values) {
		addCriterion("id not in", values, "old_val");
		return (Criteria) this;
	}

	public Criteria andOldValBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("old_val between", value1, value2, "old_val");
		return (Criteria) this;
	}

	public Criteria andOldValNotBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("old_val not between", value1, value2, "old_val");
		return (Criteria) this;
	}

	public Criteria andOldValLike(java.lang.String value) {
		addCriterion("old_val like", value, "old_val");
		return (Criteria) this;
	}

	public Criteria andOldValNotLike(java.lang.String value) {
		addCriterion("old_val not like", value, "old_val");
		return (Criteria) this;
	}
	public Criteria andNewValIsNull () {
		addCriterion("new_val is null");
		return (Criteria) this;
	}

	public Criteria andNewValIsNotNull () {
		addCriterion("new_val is not null");
		return (Criteria) this;
	}

	public Criteria andNewValEqualTo (java.lang.String value){
		addCriterion("new_val =", value, "new_val");
		return (Criteria) this;
	}

	public Criteria andNewValNotEqualTo (java.lang.String value){
		addCriterion("new_val <>", value, "new_val");
		return (Criteria) this;
	}

	public Criteria andNewValGreaterThan (java.lang.String value){
		addCriterion("new_val >", value, "new_val");
		return (Criteria) this;
	}

	public Criteria andNewValGreaterThanOrEqualTo (java.lang.String value){
		addCriterion("new_val >=", value, "new_val");
		return (Criteria) this;
	}

	public Criteria andNewValLessThan (java.lang.String value){
		addCriterion("new_val <", value, "new_val");
		return (Criteria) this;
	}

	public Criteria andNewValLessThanOrEqualTo (java.lang.String value){
		addCriterion("new_val <=", value, "new_val");
		return (Criteria) this;
	}

	public Criteria andNewValIn (List < java.lang.String > values) {

		addCriterion("new_val in", values, "new_val");
		return (Criteria) this;
	}

	public Criteria andNewValNotIn (List < java.lang.String > values) {
		addCriterion("id not in", values, "new_val");
		return (Criteria) this;
	}

	public Criteria andNewValBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("new_val between", value1, value2, "new_val");
		return (Criteria) this;
	}

	public Criteria andNewValNotBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("new_val not between", value1, value2, "new_val");
		return (Criteria) this;
	}

	public Criteria andNewValLike(java.lang.String value) {
		addCriterion("new_val like", value, "new_val");
		return (Criteria) this;
	}

	public Criteria andNewValNotLike(java.lang.String value) {
		addCriterion("new_val not like", value, "new_val");
		return (Criteria) this;
	}
	public Criteria andProjectIdIsNull () {
		addCriterion("project_id is null");
		return (Criteria) this;
	}

	public Criteria andProjectIdIsNotNull () {
		addCriterion("project_id is not null");
		return (Criteria) this;
	}

	public Criteria andProjectIdEqualTo (java.lang.Long value){
		addCriterion("project_id =", value, "project_id");
		return (Criteria) this;
	}

	public Criteria andProjectIdNotEqualTo (java.lang.Long value){
		addCriterion("project_id <>", value, "project_id");
		return (Criteria) this;
	}

	public Criteria andProjectIdGreaterThan (java.lang.Long value){
		addCriterion("project_id >", value, "project_id");
		return (Criteria) this;
	}

	public Criteria andProjectIdGreaterThanOrEqualTo (java.lang.Long value){
		addCriterion("project_id >=", value, "project_id");
		return (Criteria) this;
	}

	public Criteria andProjectIdLessThan (java.lang.Long value){
		addCriterion("project_id <", value, "project_id");
		return (Criteria) this;
	}

	public Criteria andProjectIdLessThanOrEqualTo (java.lang.Long value){
		addCriterion("project_id <=", value, "project_id");
		return (Criteria) this;
	}

	public Criteria andProjectIdIn (List < java.lang.Long > values) {

		addCriterion("project_id in", values, "project_id");
		return (Criteria) this;
	}

	public Criteria andProjectIdNotIn (List < java.lang.Long > values) {
		addCriterion("id not in", values, "project_id");
		return (Criteria) this;
	}

	public Criteria andProjectIdBetween (java.lang.Long value1, java.lang.Long value2){
		addCriterion("project_id between", value1, value2, "project_id");
		return (Criteria) this;
	}

	public Criteria andProjectIdNotBetween (java.lang.Long value1, java.lang.Long value2){
		addCriterion("project_id not between", value1, value2, "project_id");
		return (Criteria) this;
	}

	public Criteria andProjectNameIsNull () {
		addCriterion("project_name is null");
		return (Criteria) this;
	}

	public Criteria andProjectNameIsNotNull () {
		addCriterion("project_name is not null");
		return (Criteria) this;
	}

	public Criteria andProjectNameEqualTo (java.lang.String value){
		addCriterion("project_name =", value, "project_name");
		return (Criteria) this;
	}

	public Criteria andProjectNameNotEqualTo (java.lang.String value){
		addCriterion("project_name <>", value, "project_name");
		return (Criteria) this;
	}

	public Criteria andProjectNameGreaterThan (java.lang.String value){
		addCriterion("project_name >", value, "project_name");
		return (Criteria) this;
	}

	public Criteria andProjectNameGreaterThanOrEqualTo (java.lang.String value){
		addCriterion("project_name >=", value, "project_name");
		return (Criteria) this;
	}

	public Criteria andProjectNameLessThan (java.lang.String value){
		addCriterion("project_name <", value, "project_name");
		return (Criteria) this;
	}

	public Criteria andProjectNameLessThanOrEqualTo (java.lang.String value){
		addCriterion("project_name <=", value, "project_name");
		return (Criteria) this;
	}

	public Criteria andProjectNameIn (List < java.lang.String > values) {

		addCriterion("project_name in", values, "project_name");
		return (Criteria) this;
	}

	public Criteria andProjectNameNotIn (List < java.lang.String > values) {
		addCriterion("id not in", values, "project_name");
		return (Criteria) this;
	}

	public Criteria andProjectNameBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("project_name between", value1, value2, "project_name");
		return (Criteria) this;
	}

	public Criteria andProjectNameNotBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("project_name not between", value1, value2, "project_name");
		return (Criteria) this;
	}

	public Criteria andProjectNameLike(java.lang.String value) {
		addCriterion("project_name like", value, "project_name");
		return (Criteria) this;
	}

	public Criteria andProjectNameNotLike(java.lang.String value) {
		addCriterion("project_name not like", value, "project_name");
		return (Criteria) this;
	}
	public Criteria andUpdateNameIsNull () {
		addCriterion("update_name is null");
		return (Criteria) this;
	}

	public Criteria andUpdateNameIsNotNull () {
		addCriterion("update_name is not null");
		return (Criteria) this;
	}

	public Criteria andUpdateNameEqualTo (java.lang.String value){
		addCriterion("update_name =", value, "update_name");
		return (Criteria) this;
	}

	public Criteria andUpdateNameNotEqualTo (java.lang.String value){
		addCriterion("update_name <>", value, "update_name");
		return (Criteria) this;
	}

	public Criteria andUpdateNameGreaterThan (java.lang.String value){
		addCriterion("update_name >", value, "update_name");
		return (Criteria) this;
	}

	public Criteria andUpdateNameGreaterThanOrEqualTo (java.lang.String value){
		addCriterion("update_name >=", value, "update_name");
		return (Criteria) this;
	}

	public Criteria andUpdateNameLessThan (java.lang.String value){
		addCriterion("update_name <", value, "update_name");
		return (Criteria) this;
	}

	public Criteria andUpdateNameLessThanOrEqualTo (java.lang.String value){
		addCriterion("update_name <=", value, "update_name");
		return (Criteria) this;
	}

	public Criteria andUpdateNameIn (List < java.lang.String > values) {

		addCriterion("update_name in", values, "update_name");
		return (Criteria) this;
	}

	public Criteria andUpdateNameNotIn (List < java.lang.String > values) {
		addCriterion("id not in", values, "update_name");
		return (Criteria) this;
	}

	public Criteria andUpdateNameBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("update_name between", value1, value2, "update_name");
		return (Criteria) this;
	}

	public Criteria andUpdateNameNotBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("update_name not between", value1, value2, "update_name");
		return (Criteria) this;
	}

	public Criteria andUpdateNameLike(java.lang.String value) {
		addCriterion("update_name like", value, "update_name");
		return (Criteria) this;
	}

	public Criteria andUpdateNameNotLike(java.lang.String value) {
		addCriterion("update_name not like", value, "update_name");
		return (Criteria) this;
	}
	public Criteria andUpdateIdIsNull () {
		addCriterion("update_id is null");
		return (Criteria) this;
	}

	public Criteria andUpdateIdIsNotNull () {
		addCriterion("update_id is not null");
		return (Criteria) this;
	}

	public Criteria andUpdateIdEqualTo (java.lang.Long value){
		addCriterion("update_id =", value, "update_id");
		return (Criteria) this;
	}

	public Criteria andUpdateIdNotEqualTo (java.lang.Long value){
		addCriterion("update_id <>", value, "update_id");
		return (Criteria) this;
	}

	public Criteria andUpdateIdGreaterThan (java.lang.Long value){
		addCriterion("update_id >", value, "update_id");
		return (Criteria) this;
	}

	public Criteria andUpdateIdGreaterThanOrEqualTo (java.lang.Long value){
		addCriterion("update_id >=", value, "update_id");
		return (Criteria) this;
	}

	public Criteria andUpdateIdLessThan (java.lang.Long value){
		addCriterion("update_id <", value, "update_id");
		return (Criteria) this;
	}

	public Criteria andUpdateIdLessThanOrEqualTo (java.lang.Long value){
		addCriterion("update_id <=", value, "update_id");
		return (Criteria) this;
	}

	public Criteria andUpdateIdIn (List < java.lang.Long > values) {

		addCriterion("update_id in", values, "update_id");
		return (Criteria) this;
	}

	public Criteria andUpdateIdNotIn (List < java.lang.Long > values) {
		addCriterion("id not in", values, "update_id");
		return (Criteria) this;
	}

	public Criteria andUpdateIdBetween (java.lang.Long value1, java.lang.Long value2){
		addCriterion("update_id between", value1, value2, "update_id");
		return (Criteria) this;
	}

	public Criteria andUpdateIdNotBetween (java.lang.Long value1, java.lang.Long value2){
		addCriterion("update_id not between", value1, value2, "update_id");
		return (Criteria) this;
	}

	public Criteria andCreateTimeIsNull () {
		addCriterion("create_time is null");
		return (Criteria) this;
	}

	public Criteria andCreateTimeIsNotNull () {
		addCriterion("create_time is not null");
		return (Criteria) this;
	}

	public Criteria andCreateTimeEqualTo (java.util.Date value){
		addCriterion("create_time =", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeNotEqualTo (java.util.Date value){
		addCriterion("create_time <>", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeGreaterThan (java.util.Date value){
		addCriterion("create_time >", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeGreaterThanOrEqualTo (java.util.Date value){
		addCriterion("create_time >=", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeLessThan (java.util.Date value){
		addCriterion("create_time <", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeLessThanOrEqualTo (java.util.Date value){
		addCriterion("create_time <=", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeIn (List < java.util.Date > values) {

		addCriterion("create_time in", values, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeNotIn (List < java.util.Date > values) {
		addCriterion("id not in", values, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeBetween (java.util.Date value1, java.util.Date value2){
		addCriterion("create_time between", value1, value2, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeNotBetween (java.util.Date value1, java.util.Date value2){
		addCriterion("create_time not between", value1, value2, "create_time");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeIsNull () {
		addCriterion("update_time is null");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeIsNotNull () {
		addCriterion("update_time is not null");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeEqualTo (java.util.Date value){
		addCriterion("update_time =", value, "update_time");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeNotEqualTo (java.util.Date value){
		addCriterion("update_time <>", value, "update_time");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeGreaterThan (java.util.Date value){
		addCriterion("update_time >", value, "update_time");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeGreaterThanOrEqualTo (java.util.Date value){
		addCriterion("update_time >=", value, "update_time");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeLessThan (java.util.Date value){
		addCriterion("update_time <", value, "update_time");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeLessThanOrEqualTo (java.util.Date value){
		addCriterion("update_time <=", value, "update_time");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeIn (List < java.util.Date > values) {

		addCriterion("update_time in", values, "update_time");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeNotIn (List < java.util.Date > values) {
		addCriterion("id not in", values, "update_time");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeBetween (java.util.Date value1, java.util.Date value2){
		addCriterion("update_time between", value1, value2, "update_time");
		return (Criteria) this;
	}

	public Criteria andUpdateTimeNotBetween (java.util.Date value1, java.util.Date value2){
		addCriterion("update_time not between", value1, value2, "update_time");
		return (Criteria) this;
	}


	}

	public static class Criteria extends GeneratedCriteria {

	protected Criteria() {
		super();
		}
	}
	public static class Criterion {
	private String condition;
	private Object value;
	private Object secondValue;
	private boolean noValue;
	private boolean singleValue;
	private boolean betweenValue;
	private boolean listValue;
	private String typeHandler;
	public String getCondition() {

		return condition;
	}

	public Object getValue() {
		return value;
	}

	public Object getSecondValue() {
		return secondValue;
	}

	public boolean isNoValue() {
		return noValue;
	}

	public boolean isSingleValue() {
		return singleValue;
	}

	public boolean isBetweenValue() {
		return betweenValue;
	}

	public boolean isListValue() {
		return listValue;
	}

	public String getTypeHandler() {
		return typeHandler;
	}

	protected Criterion(String condition) {
		super();
		this.condition = condition;
		this.typeHandler = null;
		this.noValue = true;
	}

	protected Criterion(String condition, Object value, String typeHandler) {
		super();
		this.condition = condition;
		this.value = value;
		this.typeHandler = typeHandler;
		if(value instanceof List<?>) {
			this.listValue = true;
		} else {
			this.singleValue = true;
		}
	}

	protected Criterion(String condition, Object value) {
		this(condition, value, null);
	}

	protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
		super();
		this.condition = condition;
		this.value = value;
		this.secondValue = secondValue;
		this.typeHandler = typeHandler;
		this.betweenValue = true;
	}

	protected Criterion(String condition, Object value, Object secondValue) {
		this(condition, value, secondValue, null);
			}
		}
	}
